package com.ww.springboot.boot.algorithm.stack;

import com.ww.springboot.boot.util.SudokuUtil23;

/**
 * 3*3 数独解法
 * 解题思路:
 * 1.穷举 跟迷宫一个解法
 * 优化:已经走过的失败路线是不是可以不再走 没必要从1开始+ 直接找出缺失的值 再遍历更好
 *
 * @author wanwei
 * @since 2021-03-26 17:29
 */
public class SudokuDemo2 {
    /**
     *
     */
    private static char[][] array = {
     {'.','.','9','7','4','8','.','.','.'}
    ,{'7','.','.','.','.','.','.','.','.'}
    ,{'.','2','.','1','.','9','.','.','.'}
    ,{'.','.','7','.','.','.','2','4','.'}
    ,{'.','6','4','.','1','.','5','9','.'}
    ,{'.','9','8','.','.','.','3','.','.'}
    ,{'.','.','.','8','.','3','.','2','.'}
    ,{'.','.','.','.','.','.','.','.','6'}
    ,{'.','.','.','2','7','5','9','.','.'}};

    public static void main(String[] args){
        SudokuUtil23.solveSudoku(array);
        System.out.println(SudokuUtil23.print(array));
    }
}
